Skip to content

feat: add an arrays slots macro#7360

Merged
joseph-isaacs merged 13 commits intodevelopfrom
ji/array_slots-macro
Apr 9, 2026
Merged

feat: add an arrays slots macro#7360
joseph-isaacs merged 13 commits intodevelopfrom
ji/array_slots-macro

Conversation

@joseph-isaacs
Copy link
Copy Markdown
Contributor

@joseph-isaacs joseph-isaacs commented Apr 9, 2026

Adds a array_slot(VTable) attr macro which can be applied to a slots struct. This gives types access to the slots for an array.

e.g.

#[array_slots(ALP)]
pub struct ALPSlots {
    /// The ALP-encoded values array.
    pub encoded: ArrayRef,
    /// The indices of exception values that could not be ALP-encoded.
    pub patch_indices: Option<ArrayRef>,
    /// The exception values that could not be ALP-encoded.
    pub patch_values: Option<ArrayRef>,
    /// Chunk offsets for the patch indices/values.
    pub patch_chunk_offsets: Option<ArrayRef>,
}

@joseph-isaacs joseph-isaacs requested a review from robert3005 April 9, 2026 11:09
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs force-pushed the ji/array_slots-macro branch from ecb6bd0 to b7a1ab9 Compare April 9, 2026 11:10
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 9, 2026

Merging this PR will not alter performance

✅ 1122 untouched benchmarks
⏩ 1530 skipped benchmarks1


Comparing ji/array_slots-macro (954250e) with develop (c660607)

Open in CodSpeed

Footnotes

  1. 1530 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs marked this pull request as ready for review April 9, 2026 12:29
u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@robert3005
Copy link
Copy Markdown
Contributor

@connortsui20

u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the changelog/feature A new feature label Apr 9, 2026
@connortsui20
Copy link
Copy Markdown
Contributor

just at a quick glance, I think it is super important that we have documentation that explains what gets generated, instead of having to read to proc macro code

@robert3005
Copy link
Copy Markdown
Contributor

Fair, I had to review with an ide to see macro expansions

@joseph-isaacs
Copy link
Copy Markdown
Contributor Author

I am happy to add just wanted to see what is was and if this was the right approach?

u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>

# Conflicts:
#	encodings/fastlanes/public-api.lock
#	vortex-array/src/arrays/patched/vtable/mod.rs
u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs enabled auto-merge (squash) April 9, 2026 14:27
joseph-isaacs and others added 2 commits April 9, 2026 15:29
u
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
- Remove unused imports of DictArrayExt, ALPArraySlotsExt where SlotsExt
  provides the needed methods
- Fix base_array() -> inner() rename in fastlanes plugin test
- Remove dead downcast_slot function and commented-out code
- Fix taplo formatting in workspace Cargo.toml
- Regenerate public-api.lock files

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs force-pushed the ji/array_slots-macro branch from 1958408 to 286fdaf Compare April 9, 2026 14:36
joseph-isaacs and others added 2 commits April 9, 2026 15:43
…-run

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Maturin's _build_wheel parses stdout to find the wheel path, but with
RUST_LOG=info, maturin's pep517 tracing output goes to stdout and gets
parsed as the wheel filename, causing FileNotFoundError.

Adding maturin=warn to RUST_LOG suppresses the info-level log line that
breaks the wheel path detection.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs merged commit 8974afe into develop Apr 9, 2026
58 checks passed
@joseph-isaacs joseph-isaacs deleted the ji/array_slots-macro branch April 9, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants